package com.iran.memento;

import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;


@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
/**
 * 发起备份者
 */
public class Originator {
    //需要保存多个属性时，可以添加多个变量
    private String state;

    //恢复备忘录，将Memento导入并恢复相关数据
    public void SetMemento(Memento memento){
        state = memento.getState();
    }
    //创建备忘录，将当前需要保存的信息导入并实力化一个Memento对象
    public Memento createMemento(){
        return new Memento(state);
    }

    public void show(){
        System.out.println(JSONObject.toJSON(this));
    }
}
